package com.example.benzinrechner;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.channels.FileChannel;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.database.sqlite.*;


public class ErgebnisActivity extends Activity {

	TextView ergebnis;
	TextView ergebnis_liter;
	TextView ergebnis_kilometer;
    
	TextView text1;
	TextView text2;
	TextView text3;
	
	Button speichern;
    SaveResults savedata;
    
    float kosten;
    float kosten_liter;
    float verbrauchte_liter;


	
	@Override
	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.ergebnis_view);
		        
        ergebnis = (TextView)findViewById(R.id.text1);
		ergebnis_liter = (TextView)findViewById(R.id.text2);
		ergebnis_kilometer = (TextView)findViewById(R.id.text3);
		
		text1 = (TextView)findViewById(R.id.ergebnis);
		text2 = (TextView)findViewById(R.id.ergebnis_liter);
		text3 = (TextView)findViewById(R.id.ergebnis_kilometer);
		
		speichern = (Button)findViewById(R.id.button2);
	
		Bundle extras = getIntent().getExtras();
		if(extras!=null){
			kosten = extras.getFloat("ergebnis");
			kosten_liter = extras.getFloat("ergebnis_liter");
			verbrauchte_liter = extras.getFloat("ergebnis_kilometer");
		}
		
		ergebnis.setText(String.valueOf(kosten)+ " euro");
		ergebnis_liter.setText(String.valueOf(kosten_liter)+ " l/km");
		ergebnis_kilometer.setText(String.valueOf(verbrauchte_liter)+ "  euro/km");
		
        savedata = new SaveResults(this);

    }
	
	 public void ergebnis_speichern(final View vw){


	        savedata.addResults(kosten, kosten_liter, verbrauchte_liter);

	        Log.i("TEST_ergebnis",String.valueOf(savedata.getResults(0)));
	        Log.i("TEST_ergebnis_liter_pro_km",String.valueOf(savedata.getResults(1)));
	        Log.i("TEST_ergebnis_kosten_km",String.valueOf(savedata.getResults(2)));

	        this.copySQLDatabasToSDCard();


	    }

	 public void copySQLDatabasToSDCard() {
	        try {
	            File sd = Environment.getExternalStorageDirectory();
	            File data = Environment.getDataDirectory();

	            if (sd.canWrite()) {
	                Log.i("DONE", "yes");

	                String backupDBPath = "spritMan.db";
	                String packageName = "com.example.benzinrechner";
	                String currentDBPath = "//data//" + packageName + "//databases//" + backupDBPath;

	                File currentDB = new File(data, currentDBPath);
	                File backupDB = new File(sd, backupDBPath);

	                FileChannel src = new FileInputStream(currentDB).getChannel();
	                FileChannel dst = new FileOutputStream(backupDB).getChannel();
	                dst.transferFrom(src, 0, src.size());
	                src.close();
	                dst.close();
	                Toast.makeText(getBaseContext(), backupDB.toString(), Toast.LENGTH_LONG).show();
	            }
	        } catch (Exception e) {
	            Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
	        }
	    }


	
}
